1. Technical Field
The present invention relates in general to computer networks, and in particular, to a network processor for managing network traffic. Specifically, the invention relates to memory management between a control point processor and network processors.
2. Description of the Related Art
Computer networks have evolved to a point where switch routers are insufficient to handle complex network routing and filtering requirements. Network processors, such as the International Business Machines (IBM) Network Processor (NP) have been developed to fill this need. Utilizing a connection similar to that of a network switch, the NP provides a level of control and flexibility that surpasses that of the network switch. Parallel lookup operations can be performed on a frame, complex modifications can be performed on packets, and policies can be managed at complex levels. Multiple processors are used to achieve a very high frame processing throughput.
It is not desirable to have a high overhead operating system running on a network processor. Due to the requirements of high frame processing throughput, the NP support tasks need to be reduced to a minimum. However, there is a need for memory allocation for data structures and control instructions that control the network processor. In addition, the NP may execute local applications, for example complex filtering applications performing frame filtering and blocking. These NP-based applications require a memory allocation scheme that does not require constant communication with a central control point. In addition, it is disadvantageous to require direct mapping of address space between central control point applications or operating systems running on a central processor and data structures or programs running on NPs.
Therefore, it would be desirable to provide a method and system for managing memory in a network processing system so that access to the memory can be achieved without requiring high processing overhead and direct mapping of address spaces between a control point processor and one or more network processors.